System.register([],(function(exports){'use strict';return{execute:(function(){// ---
// Single export name
let foo = exports("foo",1);

// Assignment
// foo = 2
exports("foo",foo = 2);
console.log(exports("foo",foo = 2));

// foo += 2
exports("foo",foo += 2);
console.log(exports("foo",foo += 2));

// { foo } = obj
(function(v){return exports("foo",foo),v}({ foo } = obj));
console.log(function(v){return exports("foo",foo),v}({ foo } = obj));

// Update
// foo++
exports("foo",foo+1),foo++;
console.log((exports("foo",foo+1),foo++));
exports("foo",foo-1),foo--;

// ++foo
exports("foo",++foo);
console.log(exports("foo",++foo));
exports("foo",--foo);

// ---
// Multiple export names
let bar = 1; exports({bar:bar,bar2:bar});

// Assignment
// bar = 2
bar = 2,exports({bar:bar,bar2:bar}),bar;
console.log((bar = 2,exports({bar:bar,bar2:bar}),bar));

// bar += 2
bar += 2,exports({bar:bar,bar2:bar}),bar;
console.log((bar += 2,exports({bar:bar,bar2:bar}),bar));

// { bar } = obj
(function(v){return exports({bar:bar,bar2:bar}),v}({ bar } = obj));
console.log(function(v){return exports({bar:bar,bar2:bar}),v}({ bar } = obj));

// Update
// bar++
exports({bar:bar+1,bar2:bar+1}),bar++;
console.log((exports({bar:bar+1,bar2:bar+1}),bar++));
exports({bar:bar-1,bar2:bar-1}),bar--;

// ++bar
++bar,exports({bar:bar,bar2:bar}),bar;
console.log((++bar,exports({bar:bar,bar2:bar}),bar));
--bar,exports({bar:bar,bar2:bar}),bar;})}}));